1. Field of the Invention
The present invention relates to a technique for causing a continuous system simulator and a discrete system simulator that simulate the discrete behavior and the continuous behavior of a hybrid system, respectively, to efficiently operate in collaboration with each other. More particularly, the present invention relates to a technique for reducing the amount of data communication between the continuous system simulator and the discrete system simulator.
2. Description of the Related Art
In development of a system, it is important to verify the specifications and design of the whole system at an upstream process in order to minimize rework. Such verification is often performed by simulation, which models the system. In the field of system engineering including machinery, electricity and software, it is necessary to express a system as a hybrid system in which a discrete system and a continuous system are mixed because the system behaves both discretely and continuously.
For example, in Systems Modeling Language (SysML), which is Unified Modeling Language (UML) extended for system engineering, extension for enabling description of a structure, which handles continuous data in addition to discrete data, is made to describe a hybrid system. Here, a discrete behavior is described in a SysML state machine diagram, for example. On the other hand, an algorithm for calculating a continuous quantity on continuous time is described in another modeling language, for example, Simulink™ by The MathWorks, Inc. By describing continuous data in a manner that it is received and transmitted via a SysML flow port, it is possible to describe the behavior of a hybrid system configured by a discrete system and a continuous system.
The above is an example of a method for describing a hybrid system. In a hybrid system, it is generally one of the keys to enhance the execution efficiency of simulation to cause a discrete system simulator and a continuous system simulator to operate well in collaboration with each other. In order for a discrete system simulator and a continuous system simulator to perform in collaboration with each other, it is necessary that both simulators share time and data. Therefore, when one simulator updates time or data, this update must be correctly reflected on simulation by the other simulator. However, if time or data is exchanged immediately after each update, the number of communications between both simulators increases considerably. As a result, the execution efficiency of simulation deteriorates.
For example, in “A SystemC/Simulink Co-Simulation Framework for Continuous/Discrete-Events Simulation” by Bouchhima, F. et al (Proceedings of the 2006 IEEE International Behavioral Modeling and Simulation Workshop, 2006) a technique is disclosed in which, in simulation of a hybrid system configured by a discrete system described in UML and a continuous system described in Simulink, execution/management of co-simulation is performed under the leadership of a continuous system simulator.
In “Validating UML models of Embedded Systems by Coupling Tools” by Jozef Hooman et al (Proceedings of the Workshop on Specification and Validation of UML models for Real-Time and Embedded Systems, 2004) a technique is disclosed in which, in simulation of a hybrid system configured by a discrete system described in SystemC and a continuous system described in Simulink, execution/management of co-simulation is performed under the leadership of a discrete system simulator.
In both of the above techniques, synchronization of time and data is performed for each step time of simulation by a continuous system simulator. Therefore, the amount of communication between a discrete system simulator and a continuous system simulator increases, and it is not possible to efficiently perform simulation in the conventional techniques.